#!/bin/bash

# 自动构建脚本 - 监视文件变化并自动重新构建扩展包

echo "开始监视浏览器扩展文件变化..."

# 检查inotifywait命令是否存在（Linux）
if command -v inotifywait &> /dev/null; then
    inotifywait -m -r -e modify,create,delete ./ --exclude 'build|navigation-extension.zip' |
    while read path action file; do
        echo "检测到文件变化: $path$file"
        echo "重新构建扩展包..."
        ./build.sh
    done
# 检查fswatch命令是否存在（macOS）
elif command -v fswatch &> /dev/null; then
    fswatch -o ./ --exclude='build' --exclude='navigation-extension.zip' |
    while read; do
        echo "检测到文件变化"
        echo "重新构建扩展包..."
        ./build.sh
    done
else
    echo "未找到文件监视工具，使用简单循环监视..."
    while true; do
        sleep 10
        # 检查文件修改时间
        latest_file=$(find . -type f -not -path "./build/*" -not -name "navigation-extension.zip" -not -name "*.sh" -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2-)
        if [ "$latest_file" != "$last_processed" ]; then
            echo "检测到文件变化: $latest_file"
            echo "重新构建扩展包..."
            ./build.sh
            last_processed="$latest_file"
        fi
    done
fi